package com.tenant.dal.dataobject;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.industry.system.dal.dataobject.BaseEntity;
import java.io.Serializable;
import java.time.LocalDate;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 租户信息表
 * </p>
 *
 * @author nbZhuoZh
 * @since 2025-05-17
 */
@Getter
@Setter
public class Tenant extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 租户前缀
     */
    private String tenantSuffix;

    /**
     * 租户名称
     */
    private String tenantName;

    /**
     * 租户代码
     */
    private String tenantCode;

    /**
     * 最大用户数量
     */
    private String tenantMaxUserNum;

    /**
     * 已有用户数量
     */
    private String tenantUseUserNum;

    /**
     * 购买日期
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate tenantBuyDate;

    /**
     * 生效日期
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate tenantValidateDate;

    /**
     * 到期日期
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate tenantEndDate;

    /**
     * 初始密码
     */
    private String tenantInitPassword;

    /**
     * 删除标记
     */
    @TableLogic
    private String delFlag;

    /**
     * 创建部门
     */
    private String createDept;
}
